`
zc985552943
  • 浏览: 287845 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
Babe4ca6-5e6f-33aa-9078-762ee3ccfb7e
云计算--hadoop
浏览量:11530
5e98c2c1-2a82-3388-bc80-7fca0170bb12
redis解说
浏览量:26700
088014c7-4d3f-39ce-b72e-4ebe7046a134
MongoDB读书笔记
浏览量:15674
D2b74847-c860-3e26-96fe-3fa4498d6348
Maven读书笔记
浏览量:26757
688db20f-402d-3a1d-8188-d6153d6c7465
Java通信
浏览量:13441
社区版块
存档分类
最新评论

servlet编程基本流程

阅读更多
好久没有写servlet—jsp类型的web开发了,今天做了一个简单的开发流程。废话不多说上代码。
1. 创建一个web项目
2. 创建包:

3.在index.jsp页面增加一个表单

<h3>增加</h3>
    <form action="addStudentAction" method="post">
    	    用户名:<input type="text" name="addname"/>
      	密码:<input type="text" name="pwd"/>
    	<input type="submit" value="提交"/>
    </form>

4.在com.arz.action包中创建一个action也就是一个servlet
package com.arz.action;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.arz.dao.StudentDao;

public class AddStudentAction extends HttpServlet {
	StudentDao dao = new StudentDao();
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		String name = req.getParameter("addname");
		System.out.println(name);
		String pwd = req.getParameter("pwd");
		dao.add(name, pwd);
		
			req.getRequestDispatcher("stu/ok.jsp").forward(req, resp);
		
	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		doGet(req,resp);
	}
	
}

5.创建dao
package com.arz.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import com.arz.po.Student;
import com.arz.util.JDBCUtil;

public class StudentDao {
	private static Connection conn = null;
	private static PreparedStatement ps = null;
	public void add(String name , String pwd){
		
		try{
			conn = JDBCUtil.getConn();
			String sql = "insert into student(name,pwd)values(?,?)";
			ps = conn.prepareStatement(sql);
			ps.setString(1, name);
			ps.setString(2, pwd);
			ps.execute();
		}catch(SQLException e){
			e.printStackTrace();
		}finally{
			JDBCUtil.close(null, ps, conn);
		}
	}
	public void del(String name){
		try{
			conn = JDBCUtil.getConn();
			String sql = "delete from student where name = ?";
			ps = conn.prepareStatement(sql);
			ps.setString(1, name);
			System.out.println(ps.execute()); 
		}catch(SQLException e){
			e.printStackTrace();
		}finally{
			JDBCUtil.close(null, ps, conn);
		}
	}
	public List<Student> sel(String name){
		List<Student> list = new ArrayList<Student>();
		ResultSet rs = null;
		try{
			conn = JDBCUtil.getConn();
			String sql = "select name,pwd from student where name = ?";
			ps = conn.prepareStatement(sql);
			ps.setString(1, name);
			rs = ps.executeQuery();
			while(rs.next()){
				String sultName = rs.getString(1);
				String sultPwd = rs.getString(2);
				list.add(new Student(sultName,sultPwd));
			}
		}catch(SQLException e){
			e.printStackTrace();
		}finally{
			JDBCUtil.close(rs, ps, conn);
		}
		return list;
	}
	public static void main(String[] args){
		StudentDao dao = new StudentDao();
		List<Student> list = dao.sel("123123");
		System.out.println(list.size());
		for(int i = 0;i<list.size();i++){
			
			System.out.println(list.get(i).getName());
		}
	}
}

6.创建po
package com.arz.po;

public class Student {
	private int id ;
	private String name ;
	private String pwd;
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getPwd() {
		return pwd;
	}
	public void setPwd(String pwd) {
		this.pwd = pwd;
	}
	public Student(){}
	public Student(String name,String pwd){
		this.name = name;
		this.pwd = pwd;
	}
}

7.创建工具包,可以方便得到连接和关闭连接
package com.arz.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;

public class JDBCUtil {
	private static Connection conn; 
	private static String url = "jdbc:mysql://localhost:3306/test";
	private static String user = "root";
	private static String password = "root";
	public static Connection getConn() {
		try{		
			Class.forName("com.mysql.jdbc.Driver");
			conn = DriverManager.getConnection(url,user,password);
			
			
		}catch(Exception e){
			e.printStackTrace();
		}
		return conn;
	}
	public static void close(ResultSet rs , Statement sta , Connection conn ){
		if(rs != null){
			try{
				rs.close();
			}catch(Exception e){
				e.printStackTrace();
			}
		}
		if(sta != null){
			try{
				sta.close();
			}catch(Exception e){
				e.printStackTrace();
			}
		}
		if(conn != null){
			try{
				conn.close();
			}catch(Exception e){
				e.printStackTrace();
			}
			
		}
	}
}


8.做完这些别忘了导如Mysql的包
9.然后是配置web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
  	<servlet-name>student</servlet-name>
  	<servlet-class>com.arz.action.AddStudentAction</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>student</servlet-name>
  	<url-pattern>/addStudentAction</url-pattern>
  </servlet-mapping>
</web-app>

基本上代码写完了。现在我们要走一下servlet的请求过程
1. 首先是在index页面输入用户名和密码。
2. From发出请求(action=” addStudentAction”)
3. Web容器接受到请求后解析web.xml找到了url-pattern这个元素解析之后就可以找到对应的servlet类。在这个如果不太清楚web容器的可以看看我的“浅析Tomcat”这篇文章里面讲解了tomcat的原理。
4. 在servlet里面在去寻找对应的方法(get/post)
分享到:
评论

相关推荐

    共创在线考试系统(JSP+SERVLET)130223.rar

    通过学习这个JSP源码资料包,学生可以掌握JSP和Servlet的基本用法,了解Java Web开发的基本流程,提高自己的编程能力。同时,该系统还可以作为学生课程设计或者毕业设计的参考项目,帮助他们完成学业任务。总之,这...

    Java数据库编程宝典 PDF格式

    4.5 JDBC操作数据库的基本流程和简单实例 4.6 使用JDBC连接各种数据库的方法 4.7 小结 第5章 软件开发模型及方法 5.1 两层模型和三层模型 5.2 Web应用的开发方法 5.3 小结 第3部分 使用JSP开发系统 …… 第4部分 ...

    免费超全面的Java基础类型,容器,并发,IO流,面向对象,Web编程等代码总结

    Java基础类型,容器,并发,IO流,面向对象,Web编程等代码总结。 2、分类文档 JVM虚拟机 JVM特点,结构与执行周期 JVM类加载机制 JVM运行时区数据 JVM执行引擎和垃圾回收 基础语法 理解Java中对象基础Object类 ...

    Java编程艺术 PDF

    Herbert Schildt 和James Holmes两位编程大师通过将Java应用于某些有趣、实用的计算机问题和编程任务中,全面展示了Java语言的强大功能、敏捷性、多样性和艺术性。本书各章内容分别涉及到Java精髓、递归下降的表达式...

    在线选房(servlet+jdbc).zip

    在线选房系统是基于Servlet和JDBC等技术开发的房屋租售平台,旨在为用户提供便捷的房屋租售信息查询、在线选房和交易服务。该系统具有以下主要特点和功能: 1. **房源信息展示:** 系统展示了丰富的房屋租售信息,...

    Java后端学习路线图 - 从入门到工作的全流程 - 适用于在校学生、入门、转行学IT的同学

    - 学习Java语言基础:掌握Java的语法、面向对象编程等基本概念。 - 学习数据结构和算法:了解常用的数据结构和算法,如数组、链表、栈、队列、排序算法等。 2. Web开发基础: - 学习HTML、CSS和JavaScript:掌握...

    Java Web编程宝典-十年典藏版.pdf.part2(共2个)

    8.4.3 Action的基本流程 8.4.4 什么是动态Action 8.4.5 动态Action的应用 8.5 Struts2的配置文件 8.5.1 Struts2的配置文件类型 8.5.2 Struts2的包配置 8.5.3 名称空间配置 8.5.4 Action相关配置 8.5.5 通配符实现...

    基于Java的高校师生科研成果管理平台(源码+文档+演示视频)

    本系统主要运用JSP和Servlet编程技术进行开发,Servlet是一个Java类,Java语言能够实现的,除了图形界面以外,Servlet基本都可以实现,总的来说其具有高效、跨平台、功能强大、方便、灵活性和扩展性等技术优点,完全...

    《Java 从入门到实践》附书源文件

    全书内容包括Java简介、运行环境配置、数据类型、流程控制、面向对象、复合数据类型、异常、线程、输入/输出流、图形用户界面、XML开发、常用类、JDBC、网络编程以及JSP、Servlet。为了便于读者学习,书中的每章都给...

    jsp制作购物网站的毕业论文

    第一章 JAVA的网络功能与编程 1-1 JAVA语言简介 1-2 JAVA语言在网络上的应用 1-3 JSP的基础——Servlet 技术...3-5 网上书店基本流程 3-6 网上书店各页面功能 3-7 业务逻辑层各bean功能 3-8 控制处理层 总结 参考文献

    《JAVA从入门到实践》附书源文件.rar

    全书内容包括Java简介、运行环境配置、数据类型、流程控制、面向对象、复合数据类型、异常、线程、输入/输出流、图形用户界面、XML开发、常用类、JDBC、网络编程以及JSP、Servlet。为了便于读者学习,书中的每章都给...

    动力节点老杜推荐Java学习路线

    学习Java的基本语法和数据类型,了解变量、运算符和控制流程等基本概念。 深入学习面向对象编程的核心概念,如类、对象、封装、继承和多态。 掌握Java的常用类库,包括字符串处理、日期与时间、输入输出流等,为后续...

    基于ASPJSP的电子商务网站设计制作+源代码

    绝对有源代码 目录 中英文摘要 第一章 JAVA的网络功能与编程 1-1 JAVA语言简介 1-2 JAVA语言在网络上的应用...3-5 网上书店基本流程 3-6 网上书店各页面功能 3-7 业务逻辑层各bean功能 3-8 控制处理层 总结 参考文献

    Java开发计算机毕业实习报告(详细心得)

    进一步了解java开发的相关知识,掌握java开发的基本技术,丰富java开发的实战经验。学习SQL的基础知识及正确的运用方法,和有用的相关技术,提高自己的工作效率。通过实习,培养我们综合运用已学知识Java语言的面向...

    达内java培训目录

    掌握Java面向对象编程基本实现原理。 实训项目一:Tetris项目开发 第二阶段(以T-DMS V1项目贯穿) JDK核心API 语言核心包、异常处理、常用工具包、集合框架。 熟练掌握JDK核心API编程技术;理解API设计原则;具备...

    JAVA编程百例(照着例子更容易!)

    实例2 java流程控制 实例20 工具栏 实例21 内部窗体 实例22 分割一个面板 实例23 滑动杆 实例24 颜色过滤器 实例25 表格 实例26 基本图形绘制 实例27 绘制波图形 实例28 图片的处理 实例29 绘制指针时钟 实例3 数组...

    从零开始学Java资源包

    讲解了Java的各个方面,主要内容包括Java语言的环境配置、基本语法、流程控制语句、字符串处理、数组、面向对象、图形界面设计、输入/输出、异常处理、网络编程、数据库及Java Web基础JSP和Servlet。最后通过一个大型...

    当当网部分功能系统源码

    Servlet控制流程,并调用业务层的相应方法进行不同的业务处理。表现层采用JSP及EL技术相结合,增强了系统的强壮性。该项目分为用户管理、商品管理、购物车管理、订单四个模块。按照MVC的架构,采用struts来做页面的...

    java软件培训实习报告..doc

    实习报告 一、实习时间 2013.01.08--2013.05.18 二、实习地点 无锡 NIIT 软件服务外包实训基地 三、实习目的 进一步了解 Java 开发的相关知识, 掌握 Java 开发的基本技术, 丰富 Java 开发的实战经 验。 学习 SQL 的...

    JAVA软件培训实习报告.pdf

    实习报告 一、实习时间 2013.01.08--2013.05.18 二、实习地点 无锡 NIIT 软件服务外包实训基地 三、实习目的 进一步了解 Java 开发的相关知识,掌握 Java 开发的基本技术,丰富 Java 开发的实战经 验。学习 SQL 的...

Global site tag (gtag.js) - Google Analytics