Servlet小项目

一、使用多个ActionServlet分别接收不同请求

  • index.jsp为系统首页

     <form action="LoginServlet" method="post">
    	<input type="text" name="name"/><br/>
    	<input type="text" name="password"/><br/>
    	<input type="submit"/>
    </form>

  • LoginServlet.java做为对应处理类
    package com.servlet.action;
    
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import com.servlet.model.User;
    
    public class LoginServlet extends HttpServlet{
    
    	/**
    	 * 
    	 */
    	private static final long serialVersionUID = 20161025001L;
    
    	@Override
    	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
    			throws ServletException, IOException {
    		doPost(req, resp);
    	}
    
    	@Override
    	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
    			throws ServletException, IOException {
            //设置编码格式  
    		String username = req.getParameter("name");
    		resp.setContentType("text/html;charset=utf-8");  
              
            /*//返回html页面  
            resp.getWriter().println("<html>");  
            resp.getWriter().println("<head>");     
            resp.getWriter().println("<title>登录信息</title>");      
            resp.getWriter().println("</head>");    
            resp.getWriter().println("<body>");     
            resp.getWriter().println("欢迎【" + username + "】用户登录成功!!!");    
            resp.getWriter().println("</body>");    
            resp.getWriter().println("</html>");  */
    		
    		List<User> users = new ArrayList<User>();
    		User user1 = new User();
    		user1.setName("XXXX");
    		user1.setNo("1");
    		user1.setScore(80l);
    		users.add(user1);
    		User user2 = new User();
    		user2.setName("YYYY");
    		user2.setNo("2");
    		user2.setScore(89l);
    		users.add(user2);
    		
    		req.setAttribute("name",username);
    		req.setAttribute("users",users);
    		req.getRequestDispatcher("list.jsp").forward(req, resp);
    		//resp.sendRedirect("list.jsp");
    	}
    
    }


  • 创建list.jsp
  • <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>数据列表</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="styles.css">
    	-->
      </head>
      
      <body>
        <p>欢迎<%=request.getAttribute("name")%>用户登录成功</p>
        <table>
        <tr><td>学号</td><td>姓名</td><td>分数</td><td>操作</td></tr>
        <c:forEach items="${users}" var="list" varStatus="s">
        	<tr><td>${list.no}</td><td>${list.name}</td><td>${list.score}</td><td><a href="DeleteServlet?name=${list.name}" title="shanchu">删除</a></td></tr>
        </c:forEach>
        </table>
        
      </body>
    </html>
    

  • 创建删除的处理类DeleteServlet.java
  • package com.servlet.action;
    
    import java.io.IOException;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    public class DeleteServlet extends HttpServlet{
    
    	/**
    	 * 
    	 */
    	private static final long serialVersionUID = 20161025002L;
    
    	@Override
    	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
    			throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		doPost(req, resp);
    	}
    
    	@Override
    	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
    			throws ServletException, IOException {
    		
    		String username = req.getParameter("name");
    		req.setAttribute("name",username);
    		req.getRequestDispatcher("/LoginServlet").forward(req, resp);
    	}
    
    }
    


  • User.java
  • package com.servlet.model;
    
    public class User {
    	private String name;
    	private String no;
    	private Long score;
    	public String getName() {
    		return name;
    	}
    	public void setName(String name) {
    		this.name = name;
    	}
    	public String getNo() {
    		return no;
    	}
    	public void setNo(String no) {
    		this.no = no;
    	}
    	public Long getScore() {
    		return score;
    	}
    	public void setScore(Long score) {
    		this.score = score;
    	}
    	
    }
    
  • 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>LoginServlet</servlet-name>
      	<servlet-class>com.servlet.action.LoginServlet</servlet-class>
      </servlet>
      
      <servlet-mapping>
    	<servlet-name>LoginServlet</servlet-name>  
        <url-pattern>/LoginServlet</url-pattern> 
      </servlet-mapping>
      
      <servlet>
      	<servlet-name>DeleteServlet</servlet-name>
      	<servlet-class>com.servlet.action.DeleteServlet</servlet-class>
      </servlet>
      
      <servlet-mapping>
      	<servlet-name>DeleteServlet</servlet-name>  
            <url-pattern>/DeleteServlet</url-pattern> 
      </servlet-mapping>
      
    </web-app>
    

二、只设置一个Servlet(根据请求url使用if..else区分处理)

  • package com.servlet.action;
    
    import java.io.IOException;
    
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    public class ActionServlet extends HttpServlet{
    
    	@Override
    	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
    			throws ServletException, IOException {
    		String path = null;
    		String method = req.getParameter("method");
    		String username = req.getParameter("name1");
    		req.setAttribute("name",username);
    		if("login".equals(method)){
    			path = "index.jsp";
    		}
    		if("success".equals(method)){
    			path = "success.jsp";
    		}
    		if("start".equals(method)){
    			path = "list.jsp";
    		}
    		req.getRequestDispatcher(path).forward(req, resp);
    	}
    
    	@Override
    	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
    			throws ServletException, IOException {
    		doGet(req,resp);
    	}
    
    	
    
    }
    


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值