利用servlet对客户端增删改的请求进行响应
2012-08-21 00:17
405 查看
今天简单学习了servlet,它是java服务器端的程序组件,可以对客户端的请求进行响应。
一、我们若想用它,需要创建一个类,继承HttpServlet。一般的我们都要重写它的doGet方法和doPost方法来响应客户端的提交。
一般都是一个表对应一个servlet,我依旧已教师为例,发一下我做的,代码如下:
二、类写完之后,我们必须要在web.xml中进行配置,详细配置信息如下:
<servlet>
<servlet-name>tservlet</servlet-name>//名字自定义起,但必须要和下面的<servlet-mapping>中name一致。
<servlet-class>com.jsp.servlet.Teacher_Servlet</servlet-class>//servlet类的路径。这里是供服务器所用
</servlet>
<servlet-mapping>
<servlet-name>tservlet</servlet-name>
<url-pattern>/teacherservlet</url-pattern>//这里时供客户端所用。其中/表示的就是在webRoot根目录下后面是我们在调的时候用的地址。
</servlet-mapping>
三、页面中的请求(添加教师信息),注意的是action的位置teacherservlet,提交方式为post。为了给servlet指定执行何种方法,我们加了一个隐藏域
<input type="hidden" name="caozuo" value="add">,告诉servlet这个请求执行的是添加方法,详细代码如下:
修改和删除也是一样的,只要我们给servlet传入一个操作指令,它就会根据你给定的value进行对应的操作。利用servlet我们不用对每一个请求都建一个.jsp文件进行操作。而是一个表对应一个,对其进行响应。今天刚学,有不足的地方希望大家多多指教我,谢谢。
一、我们若想用它,需要创建一个类,继承HttpServlet。一般的我们都要重写它的doGet方法和doPost方法来响应客户端的提交。
一般都是一个表对应一个servlet,我依旧已教师为例,发一下我做的,代码如下:
package com.jsp.servlet; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.math.BigDecimal; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.jdbc.entity.TeacherEntity; import com.jdbc.manager.SchoolManager; public class Teacher_Servlet extends HttpServlet{ @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); String caozuo=request.getParameter("caozuo"); if(caozuo.equals("add")){ this.addNewTeacherInfo(request, response); } if(caozuo.equals("del")){ this.delTeacherInfoById(request, response); } if(caozuo.equals("upd")){ this.updTeacherInfo(request, response); } } private void addNewTeacherInfo(HttpServletRequest request, HttpServletResponse response) throws IOException{ String tid=request.getParameter("tid"); String tname=request.getParameter("tname"); String tage=request.getParameter("tage"); TeacherEntity teacher=new TeacherEntity(); teacher.setTid(new BigDecimal(tid)); teacher.setTname(tname); teacher.setTage(new BigDecimal(tage)); boolean f=SchoolManager.addNewTeacherInfo(teacher); if(f){ response.sendRedirect("InforShow/teacherManager.jsp"); }else{ response.sendRedirect("InforManager/addTeacher.jsp?add=0"); } } private void delTeacherInfoById(HttpServletRequest request, HttpServletResponse response) throws IOException{ String tid=request.getParameter("tid"); boolean f=SchoolManager.delTeacherInfoById(tid); if(f){ System.out.println("OK"); response.sendRedirect("InforShow/teacherManager.jsp"); } } private void updTeacherInfo(HttpServletRequest request, HttpServletResponse response) throws IOException{ String tid=request.getParameter("tid"); String tname=request.getParameter("tname"); String tage=request.getParameter("tage"); TeacherEntity teacher=new TeacherEntity(); teacher.setTid(new BigDecimal(tid)); teacher.setTname(tname); teacher.setTage(new BigDecimal(tage)); boolean f=SchoolManager.updTeacherInfo(teacher); if(f){ response.sendRedirect("InforShow/teacherManager.jsp"); } } }
二、类写完之后,我们必须要在web.xml中进行配置,详细配置信息如下:
<servlet>
<servlet-name>tservlet</servlet-name>//名字自定义起,但必须要和下面的<servlet-mapping>中name一致。
<servlet-class>com.jsp.servlet.Teacher_Servlet</servlet-class>//servlet类的路径。这里是供服务器所用
</servlet>
<servlet-mapping>
<servlet-name>tservlet</servlet-name>
<url-pattern>/teacherservlet</url-pattern>//这里时供客户端所用。其中/表示的就是在webRoot根目录下后面是我们在调的时候用的地址。
</servlet-mapping>
三、页面中的请求(添加教师信息),注意的是action的位置teacherservlet,提交方式为post。为了给servlet指定执行何种方法,我们加了一个隐藏域
<input type="hidden" name="caozuo" value="add">,告诉servlet这个请求执行的是添加方法,详细代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'addTeacher.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <link rel="stylesheet" type="text/css" href="WEB-CSS/styles.css"> <script type="text/javascript" src="WEB-JS/sys.js"></script> </head> <% String add=request.getParameter("add"); if(add!=null){%> <script type="text/javascript"> window.alert('添加失败,请重新操作!'); </script> <%} %> <body> <div style="text-align: center;font-size: 20px;color: #ee99ff"> 添加教师信息 </div> <hr/> <div style="width: 500px;padding-left: 120px" align="center"> <form action="teacherservlet" method="post" onsubmit="return sub(this)"> <div style="float:left">编 号:</div> <input type="text" name="tid" title="教师ID" style="float: left;" > <div divid="tid" ></div> <br/> <div style="float:left">姓 名:</div> <input type="text" name="tname" title="教师姓名" style="float:left"> <div divid="tname" ></div> <br/> <div style="float: left">年 龄:</div> <input type="text" name="tage" title="教师年龄" style="float:left"> <div divid="tage"></div> <br/> <input type="hidden" name="caozuo" value="add"> <div style="padding-right: 100px;"> <input type="submit" value="确认添加" > <input type="reset" value="取消操作"> </div> </form> </div> <hr/> </body> <script type="text/javascript"> start_run(); </script> </html>
修改和删除也是一样的,只要我们给servlet传入一个操作指令,它就会根据你给定的value进行对应的操作。利用servlet我们不用对每一个请求都建一个.jsp文件进行操作。而是一个表对应一个,对其进行响应。今天刚学,有不足的地方希望大家多多指教我,谢谢。
相关文章推荐
- 前端控制器是整个MVC框架中最为核心的一块,它主要用来拦截符合要求的外部请求,并把请求分发到不同的控制器去处理,根据控制器处理后的结果,生成相应的响应发送到客户端。前端控制器既可以使用Filter实现(Struts2采用这种方式),也可以使用Servlet来实现(spring MVC框架)。
- 客户端和应用服务器之间利用HttpClient和Servlet交互JSON对象进行通信
- 利用抽象工厂创建DAO、利用依赖注入去除客户端对工厂的直接依赖、将有关Article的各种Servlet封装到一个Servlet中(通过BaseServlet进行
- 通俗易懂客户端与服务器端交互原理(HTTP数据请求与HTTP响应,包括Servlet部分)
- 通俗易懂客户端与服务器端交互原理(HTTP数据请求与HTTP响应,包括Servlet部分)
- 服务器端我们通过一个 Servlet 来处理来自客户端的请求,并对客户端作出响应。其核心处理代码
- 通俗易懂客户端与服务器端交互原理(HTTP数据请求与HTTP响应,包括Servlet部分
- 【javaweb:servlet】客户端请求服务端进行文件下载的demonstration
- SpringMVC根据客户端的不同的请求使用不同的VIEW进行响应
- 通俗易懂客户端与服务器端交互原理(HTTP数据请求与HTTP响应,包括Servlet部分)
- 响应客户端请求(servlet与jsp)
- 通俗易懂客户端与服务器端交互原理(HTTP数据请求与HTTP响应,包括Servlet部分)
- Servlet容器响应客户端请求访问特定的Servlet流程
- servlet的url-pattern匹配规则详细描述 一、概述 在利用servlet或Filter进行url请求的匹配时,很关键的一点就是匹配规则,但servlet容器中的匹配规则既不是简单的通
- 服务器端用Servlet响应客户端请求,Gson请求。可以返回多个数据库中的信息
- servlet3-客户端请求与服务端响应(request,response)
- 通俗易懂客户端与服务器端交互原理(HTTP数据请求与HTTP响应,包括Servlet部分
- Servlet容器响应客户端请求访问特定的Servlet流程
- 通俗易懂客户端与服务器端交互原理(HTTP数据请求与HTTP响应,包括Servlet部分)
- 客户端请求、服务器响应及其HTTP状态码