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

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)
分享到:
评论

相关推荐

    第三章 Servlet 编程.ppt

    4. Servlet 的基本工作流程:客户机将请求发送到服务器,服务器上的 Web 容器实例化 Servlet,Web 容器将请求信息发送到 Servlet,Servlet 创建一个响应,并将其返回到 Web 容器,Web 容器将响应发回客户机。...

    深入 Java Servlet 网络编程

    虽然可以直接使用Servlet编写Web应用,但现在许多现代框架如Spring MVC、Struts等都基于Servlet API,提供更高级别的抽象,简化开发流程。 理解并熟练掌握Java Servlet网络编程,能够帮助开发者构建高效、可扩展的...

    servlet与JSp核心编程源代码

    Servlet是一种Java编程接口,它允许开发者编写服务器端程序,处理来自客户端(如浏览器)的请求并返回响应。JSP则是HTML代码和Java代码的混合体,提供了一种更便捷的方式来创建动态网页。 本压缩包中的源代码涵盖了...

    Servlet实验报告.pdf

    Servlet 实验报告.pdf ...本实验报告总结了 Servlet 应用的基本原理和工作流程,并掌握了 Servlet 的方法 init()、destory()、doGet()、doPost()。同时,也掌握了 web 开发的 MVC 模式和 Servlet 的作用。

    Servlet与JSP核心编程第二版5

    ### Servlet与JSP核心编程...通过学习本书,开发者不仅可以掌握 Servlet 和 JSP 的基本原理,还能了解如何构建高效、安全的 Web 应用程序。对于希望深入了解 Java Web 开发的技术人员来说,这是一本不可或缺的参考书。

    Servlet编程基础

    ### Servlet编程基础知识点 #### 一、实验目的与要求 1. **理解Servlet的生命周期**: - **初始化阶段**:当服务器启动时,如果配置文件中指定了Servlet,则Servlet会被加载并创建一个实例。 - **服务阶段**:...

    Servlet与JSP核心编程第二版(含书签)

    - **JSP与Servlet的通信**:通常情况下,JSP页面作为视图层负责显示数据,而Servlet作为控制层负责处理业务逻辑和控制流程。两者通过共享请求范围内的数据进行交互。 #### 五、实战案例分析 - **用户登录案例**:...

    深入Java Servlet 网络编程阅读器Part1

    首先,理解Servlet的基本概念至关重要。Servlet是一个Java类,它遵循Java Servlet API(Application Programming Interface)规范,由服务器加载并执行,以响应来自客户端(如浏览器)的请求。Servlet生命周期包括...

    servlet技术初步入门

    四、Servlet编程 1. 创建Servlet:继承HttpServlet类并重写doGet或doPost方法。 2. 注解配置:使用@WebServlet注解简化配置,如`@WebServlet("/myservice")`。 3. 获取请求参数:通过ServletRequest对象的...

    servlet 笔记

    Servlet的工作流程主要包括以下几个步骤: 1. **加载和实例化**:当Servlet容器(通常是Web服务器)接收到客户端的请求时,如果发现该请求与某个Servlet相关联,则会加载并实例化该Servlet。 2. **初始化**:Servlet...

    JSP servlet 课件(清华IT)(适用于有一定基础的编程人员)

    本课件主要针对已有编程基础的人员,旨在深入理解JSP和Servlet的概念及应用。 **Servlet 概述** Servlet是一个用Java编写的服务器端程序,它的主要功能是接收并响应来自客户端(如浏览器)的请求,处理数据,然后将...

    利用Servlet求平方根的完美实例

    在本实例中,我们将深入探讨如何使用Servlet计算一个数的平方根,这将帮助你理解Servlet的基本工作原理以及如何结合实际应用进行编程。 首先,Servlet的工作流程包括:客户端发送请求到服务器,服务器通过Servlet...

    Servlet与JSP核心编程第二版

    - 在实际开发中,通常会结合使用Servlet和JSP,Servlet负责处理业务逻辑和控制流程,而JSP则负责展示数据。 #### 六、学习建议 对于希望深入学习Servlet和JSP技术的学习者来说,《Servlet与JSP核心编程第二版》是一...

    猜数字游戏-servlet练习

    【猜数字游戏-Servlet练习】是一个适合初学者的项目,旨在帮助学习者深入理解Servlet技术。Servlet是Java Web开发中的核心组件,它...通过这个练习,你不仅可以了解Servlet的工作流程,还能锻炼到问题解决和编程能力。

    servlet 5分钟入门理解

    Servlet是Java平台上的一个...了解这两个关键概念,您就能快速入门Servlet编程,并能进一步探索更高级的Web开发技术。在实践中,不断学习和实践,您将逐渐熟练掌握这些知识,为构建高效、稳定的Web应用打下坚实基础。

    servlet教程ppt讲解

    在本教程中,我们将深入理解Servlet的基本概念、生命周期、API使用及其工作原理。 首先,Servlet是按照Servlet规范编写的一个Java类,它必须实现`javax.servlet.Servlet`接口。Servlet的主要作用是在服务器上运行,...

    达内培训课件-Servlet

    在学习过程中,建议动手实践,编写自己的Servlet,结合实际项目理解Servlet的工作流程,这将有助于巩固理论知识,并提高编程技能。同时,不断关注Java Web的最新技术动态,例如Spring MVC框架,以便在实际工作中更好...

Global site tag (gtag.js) - Google Analytics