1、 具体的类/servlet Servlet的URL映射servlet-mapping 上面servlet的引用名url-pattern/FirstServlet 访问servlet的url地址/servlet-mapping步骤四 编写代码打开刚建好的Java类,找到protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 方法,在改变其中代码如下:response.setCharacterEncoding(UTF-8);
2、response.getWriter().println(h1我的第一个Servlet!/h1并在protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 方法中其中代码如下:doGet(request,response);然后保存。步骤五 部署并访问将该工程部署到Tomcat中,并启动。然后浏览器的地址栏中输入:http:/localhost:8080/myServlet/FirstServlet二 通过Servlet
3、进行表单处理建立三个文件:login.jsp:登录页面,显示登录表单;Check.java:Servlet进行登录验证,若通过跳转到ok.jsp,否则跳转到login.jsp并显示错误信息;protect/Ok.jsp被保护页面,当通过验证后显示。login.jsp代码:% page language=java contentType=text/html; charset=UTF-8 pageEncoding=%!DOCTYPE html PUBLIC -/W3C/DTD HTML 4.01 Transitional/EN /www.w3.org/TR/html4/loose.dtdhtmlh
4、eadmeta http-equiv=Content-Type content=titleInsert title here/headbodyh2用户登录h4 style=color:red%/显示错误信息If(session.getAttribute(errMsg) != null)Out.println(session.getAttribute();/h4form action=check method=post 用户名:input name=loginName type=text/br / 口令:passwdpasswordinput value=登录submit/form/body/h
5、tmlCheck.java代码:package cn.servlet;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse; public class Check extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet static final long
6、 serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException request.getSession().setAttribute(, 请通过正常方式登录 response.sendRedirect(login.jsp protected void doPost(HttpServletRequest request, HttpServletResponse response) th
7、rows ServletException, IOException String loginName = request.getParameter( String passwd = request.getParameter( if(Tom.equals(loginName) &123456.equals(passwd) request.getSession().setAttribute(, loginName); response.sendRedirect(protect/ok.jsp else用户名或口令错误protect/login.jsp ok.jsp代码:h1 align=cente
8、r%=session.getAttribute() %欢迎你回来!三 过滤器Filter使用Filter对protect中的所有文件进行保护,只有登录的用户才能查看。步骤一 创建Filter通过“New”菜单,在打开“New”对话框选择“Java”“Class”,然后点击“Next”按钮,显示如下窗口:按图中红框填写你的窗口内容;然后点击“Add.”按钮添加该类要实现的接口(Filter接口)如下图,在“Choose interfaces:”中输入“Filter”,在“Matching items”列表中选择“Filter - javax.servlet .”条目,然后点击“ok”,返回到“N
9、ew Java Class”窗口,点击“Finish”按钮完成创建。步骤二 编写代码package cn.filter;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;public class ProtectFilter implements Filter Override public void destro
10、y() public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) throws IOException, ServletException javax.servlet.http.HttpServletRequest req = (javax.servlet.http.HttpServletRequest)arg0; Object loginName = req.getSession().getAttribute( if(loginName = null) req.getSession().
11、setAttribute(你尚未登录,请登录. javax.servlet.http.HttpServletResponse res =(javax.servlet.http.HttpServletResponse)arg1; res.sendRedirect(./login.jsp arg2.doFilter(arg0, arg1); public void init(FilterConfig arg0) throws ServletException 步骤二 配置Filter打开web.xml,在“”之前插入如下内容- 注册过滤器-filter protectfilter-classcn.
12、filter.ProtectFilter/filter- 过滤器映射-filter-mapping/protect/*/filter-mapping步骤三 验证过滤器功能重启Tomcat,在浏览器地址栏中输入“http:8080/myServlet/ok.jsp”,正确结果是会被重定向到登录页面,并显示错误信息。内容二 JDBC的使用在上面的工程中添加代码,完成学生信息管理。步骤一 准备数据库在mysql中的test数据库中添加表student,字段内容如下:字段名类型长度说明idint自动增长stuIDvarchar10学号stuName20姓名className班级homeAddress2
13、00家庭住址步骤二 添加mysql驱动从作业管理系统下载mysql的驱动:mysql-connector-java-5.1.13-bin.jar,并复制到工程的“WebCotent”“WEB-INF”“lib”目录中。步骤三 编写代码共5个文件connect.jsp:被包含页面,存放数据的连接代码% page import=java.sql.* % Class.forName(com.mysql.jdbc.Driver Connection con=DriverManager.getConnection(jdbc:mysql:3306/test,rootlist.jsp:显示学生列表;% in
14、clude file=connect.jsp Statement stmt=con.createStatement(); ResultSet rs = stmt.executeQuery(select * from student学生信息管理系统h3 align=a href=edit.jsp添加学生信息/h3table border=1 width=500 align=trth width=60学号80姓名100班级家庭住址操作 while(rs.next() %=rs.getString(stuID/tdstuNamestuClasshomeAddress a href=edit.jsp?
15、id=id编辑delete.jsp?删除edit.jsp:编辑或添加学生信息页面; String id = request.getParameter( String stuID = ; String stuName = String stuClass = String homeAddress = if(id != null) Statement stmt=con.createStatement(); ResultSet rs = stmt.executeQuery(select * from student where id= + id + rs.next(); stuID = rs.getS
16、tring( stuName = rs.getString( stuClass = rs.getString( homeAddress = rs.getString(编辑学生信息h2 align=添加/编辑学生信息姓名:%=stuName % /%=stuClass %=homeAddress %td colspan=2确定hidden%=id=null?:id %save.jsp:保存编辑好的信息; request.setCharacterEncoding( String stuID = request.getParameter( String stuName = request.getPa
17、rameter( String stuClass = request.getParameter( String homeAddress = request.getParameter( String sql; PreparedStatement pt; if(id = null | id.equals() sql = insert into student(stuID,stuName,stuClass,homeAddress) values(?,?) pt = con.prepareStatement(sql); elseupdate student set stuID=?,stuName=?,stuClass=?,homeAddress=? where id = ? pt.setString(5,id); pt.setString(1,stuID); pt.setString(2,stuName); pt.setString(3,stuClass); pt.setString(4,homeAddress); pt.executeUpdate(); pt.close(); response.sendRedirect(list.jspdelete.jsp:删除指定学生信息;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1