创建第一个属于自己的JavaWeb小程序吧

打印 上一主题 下一主题

主题 576|帖子 576|积分 1728

需要使用的 技术 工具:

  • idea 2022  开发工具
  • MySql 5.6  数据库工具
  • Apache Tomcat 8.5.85   web应用部署工具
主要功能有:

  • 用户登录
  • 用户注册
  • 展示列表信息
涉及到的知识:

  • Servlet
  • JDBC
  • 过滤器
先打开数据库 创建一个数据库 然后 创建对应的表结构
  1. CREATE TABLE `user` (
  2.   `id` int(11) NOT NULL auto_increment,
  3.   `name` varchar(255) NOT NULL,
  4.   `pwd` varchar(255) NOT NULL,
  5.   `sex` varchar(255) NOT NULL,
  6.   `address` varchar(255) NOT NULL,
  7.   `info` varchar(255) NOT NULL,
  8.   PRIMARY KEY  (`id`)
  9. ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
  10. INSERT INTO `user` VALUES ('1', '123', '123', '女', '北京', '123');
  11. INSERT INTO `user` VALUES ('2', '111, '111', '男', '北京', '123123');
复制代码
 
然后打开 idea 创建以下 几个目录:
com.filter   //过滤器 解决中文字符集乱码
com.util     //数据库连接工具类
com.entity   //实体类
com.dao      //数据操作类
com.servlet   //servlet类

 
 
 
在filter下新建一个EncodingFilter用来解决中文字符集乱码,需要实现Filter接口,并且重写doFilter函数
  1. package com.filter;
  2. import java.io.IOException;
  3. import javax.servlet.Filter;
  4. import javax.servlet.FilterChain;
  5. import javax.servlet.FilterConfig;
  6. import javax.servlet.ServletException;
  7. import javax.servlet.ServletRequest;
  8. import javax.servlet.ServletResponse;
  9. public class EncodingFilter implements Filter{
  10.     public EncodingFilter(){
  11.         System.out.println("过滤器构造");
  12.     }
  13.     public void destroy() {
  14.         System.out.println("过滤器销毁");
  15.     }
  16.     public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {
  17.         request.setCharacterEncoding("utf-8"); //将编码改为utf-8
  18.         response.setContentType("text/html;charset=utf-8");
  19.         chain.doFilter(request, response);
  20.     }
  21.     public void init(FilterConfig arg0) throws ServletException {
  22.         System.out.println("过滤器初始化");
  23.     }
  24. }
复制代码
 
 
 
 
 然后到web.xml下进行对EncodingFilter相应的 xml配置
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  3.          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4.          xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
  5.          version="4.0">
  6.    
  7.     <filter>
  8.         <filter-name>EncodingFilter</filter-name>
  9.         <filter-class>com.filter.EncodingFilter</filter-class>
  10.     </filter>
  11.     <filter-mapping>
  12.         <filter-name>EncodingFilter</filter-name>
  13.         <url-pattern>/*</url-pattern>
  14.     </filter-mapping>
  15.    
  16.     <welcome-file-list>
  17.         <welcome-file>login.jsp</welcome-file>
  18.     </welcome-file-list>
  19. </web-app>
复制代码
 
在util下新建一个DBconn类用来处理对数据库的连接操作(用户名和密码需要对照自己的数据库进行更改)
  1. package com.util;
  2. import java.sql.*;
  3. public class DBConnection {
  4.     //定义连接数据库的属性
  5.     private static String JDBC_DRIVER = "com.mysql.jdbc.Driver";
  6.     private static String url = "jdbc:mysql://localhost:3306/demo";
  7.     // 用户 密码
  8.     private static String username = "root";
  9.     private static String pwd = "123456";
  10.     private static Connection conn = null;
  11.     static ResultSet rs = null;
  12.     static PreparedStatement ps =null;
  13.    
  14.     public static void init(){
  15.         try {
  16.             Class.forName(JDBC_DRIVER);
  17.             conn = DriverManager.getConnection(url,username,pwd);
  18.         } catch (Exception e) {
  19.             System.out.println("init [SQL驱动程序初始化失败!]");
  20.             e.printStackTrace();
  21.         }
  22.     }
  23.     public static int addUpdDel(String sql){
  24.         int i = 0;
  25.         try {
  26.             PreparedStatement ps =  conn.prepareStatement(sql);
  27.             i =  ps.executeUpdate();
  28.         } catch (SQLException e) {
  29.             System.out.println("数据库增删改异常");
  30.             e.printStackTrace();
  31.         }
  32.         return i;
  33.     }
  34.     public static ResultSet selectSql(String sql){
  35.         try {
  36.             ps =  conn.prepareStatement(sql);
  37.             rs =  ps.executeQuery(sql);
  38.         } catch (SQLException e) {
  39.             System.out.println("数据库查询异常");
  40.             e.printStackTrace();
  41.         }
  42.         return rs;
  43.     }
  44.     public static void closeConn(){
  45.         try {
  46.             conn.close();
  47.         } catch (SQLException e) {
  48.             System.out.println("数据库关闭异常");
  49.             e.printStackTrace();
  50.         }
  51.     }
  52. }
复制代码
在entity下新建一个User实体类 对应数据库中的每个字段
  1. package com.entity;
  2. public class User {
  3.     private int id;
  4.     private String name;
  5.     private String pwd;
  6.     private String sex;
  7.     private String address;
  8.     private String info;
  9.     public int getId() {
  10.         return id;
  11.     }
  12.     public void setId(int id) {
  13.         this.id = id;
  14.     }
  15.     public String getName() {
  16.         return name;
  17.     }
  18.     public void setName(String name) {
  19.         this.name = name;
  20.     }
  21.     public String getPwd() {
  22.         return pwd;
  23.     }
  24.     public void setPwd(String pwd) {
  25.         this.pwd = pwd;
  26.     }
  27.     public String getSex() {
  28.         return sex;
  29.     }
  30.     public void setSex(String sex) {
  31.         this.sex = sex;
  32.     }
  33.     public String getAddress() {
  34.         return address;
  35.     }
  36.     public void setAddress(String address) {
  37.         this.address = address;
  38.     }
  39.     public String getInfo() {
  40.         return info;
  41.     }
  42.     public void setInfo(String info) {
  43.         this.info = info;
  44.     }
  45. }
复制代码
在dao下新建一个UserDao接口  以及对应的方法实现类 规范开发 需要使用 接口及实现类
UserDao.java
  1. package com.dao;
  2. import com.entity.User;
  3. import java.util.List;
  4. public interface UserDao {
  5.     public boolean login(String name,String pwd);//登录
  6.     public boolean register(User user);//注册
  7.     public List<User> getUserAll();//返回用户信息集合
  8.     public boolean delete(int id) ;//根据id删除用户
  9.     public boolean update(int id,String name, String pwd,String sex, String home,String info) ;//更新用户信息
  10. }
复制代码
在写一个 UserDaoImpl.java     实现UserDao接口,及未实现的方法
  1. package com.dao;
  2. import com.entity.User;
  3. import com.util.DBConnection;
  4. import java.sql.ResultSet;
  5. import java.sql.SQLException;
  6. import java.util.ArrayList;
  7. import java.util.List;
  8. public class UserDaoImpl implements UserDao {
  9.     DBConnection DBconn = new DBConnection();
  10.     // 注册用户
  11.     @Override
  12.     public boolean register(User user) {
  13.         boolean flag = false;
  14.         DBconn.init();
  15.         int i =DBconn.addUpdDel("insert into user(name,pwd,sex,address,info) " +
  16.                 "values('"+user.getName()+"','"+user.getPwd()+"','"+user.getSex()+"','"+user.getAddress()+"','"+user.getInfo()+"')");
  17.         if(i>0){
  18.             flag = true;
  19.         }
  20.         DBconn.closeConn();
  21.         return flag;
  22.     }
  23.     // 查询 登录用户是否存在
  24.     @Override
  25.     public boolean login(String name, String pwd) {
  26.         boolean flag = false;
  27.         try {
  28.             DBconn.init();
  29.             ResultSet rs = DBconn.selectSql("select * from user where name='"+name+"' and pwd='"+pwd+"'");
  30.             while(rs.next()){
  31.                 if(rs.getString("name").equals(name) && rs.getString("pwd").equals(pwd)){
  32.                     flag = true;
  33.                 }
  34.             }
  35.             DBconn.closeConn();
  36.         } catch (SQLException e) {
  37.             e.printStackTrace();
  38.         }
  39.         return flag;
  40.     }
  41.     // 获取用户
  42.     @Override
  43.     public List<User> getUserAll() {
  44.         List<User> list = new ArrayList<User>();
  45.         try {
  46.             DBconn.init();
  47.             ResultSet rs = DBconn.selectSql("select * from user");
  48.             while(rs.next()){
  49.                 User user = new User();
  50.                 user.setId(rs.getInt("id"));
  51.                 user.setName(rs.getString("name"));
  52.                 user.setPwd(rs.getString("pwd"));
  53.                 user.setSex(rs.getString("sex"));
  54.                 user.setAddress(rs.getString("address"));
  55.                 user.setInfo(rs.getString("info"));
  56.                 list.add(user);
  57.             }
  58.             DBconn.closeConn();
  59.             return list;
  60.         } catch (SQLException e) {
  61.             e.printStackTrace();
  62.         }
  63.         return null;
  64.     }
  65.     // 更新用户数据
  66.     @Override
  67.     public boolean update(int id, String name, String pwd, String sex, String home, String info) {
  68.         boolean flag = false;
  69.         DBconn.init();
  70.         String sql ="update user set name ='"+name
  71.                 +"' , pwd ='"+pwd
  72.                 +"' , sex ='"+sex
  73.                 +"' , home ='"+home
  74.                 +"' , info ='"+info+"' where id = "+id;
  75.         int i =DBconn.addUpdDel(sql);
  76.         if(i>0){
  77.             flag = true;
  78.         }
  79.         DBconn.closeConn();
  80.         return flag;
  81.     }
  82.     // 删除用户
  83.     @Override
  84.     public boolean delete(int id) {
  85.         boolean flag = false;
  86.         DBconn.init();
  87.         String sql = "delete  from user where id="+id;
  88.         int i =DBconn.addUpdDel(sql);
  89.         if(i>0){
  90.             flag = true;
  91.         }
  92.         DBconn.closeConn();
  93.         return flag;
  94.     }
  95. }
复制代码
在servlet下创建DengluServlet用来实现对用户登录的操作 ,实现Servlet具体内容,然后需要去WEB_INF下的web.xml去配置servlet
  1. package com.servlet;
  2. import com.dao.UserDao;
  3. import com.dao.UserDaoImpl;
  4. import javax.servlet.*;
  5. import javax.servlet.http.*;
  6. import javax.servlet.annotation.*;
  7. import java.io.IOException;
  8. @WebServlet(name = "signinServlet", value = "/signinServlet")
  9. public class Signin extends HttpServlet { // serverlet 需要继承 HttpServerlet  并重写doGet和doPost方法
  10.     @Override
  11.     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  12.         doPost(request, response);  //将信息使用doPost方法执行   对应jsp页面中的form表单中的method
  13.     }
  14.     @Override
  15.     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  16.         String name = request.getParameter("name"); //得到jsp页面传过来的参数
  17.         String pwd = request.getParameter("pwd");
  18.         UserDao ud = new UserDaoImpl();
  19.         if(ud.login(name, pwd)){
  20.             request.setAttribute("xiaoxi", "欢迎用户"+name); //向request域中放置信息
  21.             request.getRequestDispatcher("/success.jsp").forward(request, response);//转发到成功页面
  22.         }else{
  23.             response.sendRedirect("index.jsp"); //重定向到首页
  24.         }
  25.     }
  26. }
复制代码
两点要注意的地方:
一:getParameter与getAttribute两者的区别
request.setAttribute("xiaoxi", "欢迎用户"+name);//向request域中放置信息 ( 键值对的形式) 名字为xiaoxi 内容为"欢迎用户"+name
request.getAttribute("xiaoxi");//得到request域中放置名字为xiaoxi的信息
request.getParameter("name");//得到request域的参数信息(得到jsp页面传过来的参数)
getAttribute表示从request范围取得设置的属性,必须要先setAttribute设置属性,才能通过getAttribute来取得,设置与取得的为Object对象类型 。
getParameter表示接收参数,参数为页面提交的参数,包括:表单提交的参数、URL重写(就是xxx?id=1中的id)传的参数等,因此这个并没有设置参数的方法(没有setParameter),而且接收参数返回的不是Object,而是String类型
二:转发与重定向的区别
(1).重定向的执行过程:Web服务器向浏览器发送一个http响应--》浏览器接受此响应后再发送一个新的http请求到服务器--》服务器根据此请求寻找资源并发送给浏览器。它可以重定向到任意URL,不能共享request范围内的数据。
(2).重定向是在客户端发挥作用,通过新的地址实现页面转向。
(3).重定向是通过浏览器重新请求地址,在地址栏中可以显示转向后的地址。
(4).转发过程:Web服务器调用内部方法在容器内部完成请求和转发动作--》将目标资源发送给浏览器,它只能在同一个Web应用中使用,可以共享request范围内的数据。
(5).转发是在服务器端发挥作用,通过forward()方法将提交信息在多个页面间进行传递。
(6).转发是在服务器内部控制权的转移,客户端浏览器的地址栏不会显示出转向后的地址。

在servlet下创建一个ZhuceServlet用来实现用户注册的操作
  1. package com.servlet;
  2. import com.dao.UserDao;
  3. import com.dao.UserDaoImpl;
  4. import com.entity.User;
  5. import javax.servlet.ServletException;
  6. import javax.servlet.annotation.WebServlet;
  7. import javax.servlet.http.HttpServlet;
  8. import javax.servlet.http.HttpServletRequest;
  9. import javax.servlet.http.HttpServletResponse;
  10. import java.io.IOException;
  11. @WebServlet(name = "LogonServlet", value = "/LogonServlet")
  12. public class Logon extends HttpServlet{
  13.     @Override
  14.     protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  15.         super.doGet(req, resp);
  16.     }
  17.     @Override
  18.     protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  19.         String name = req.getParameter("name"); //获取jsp页面传过来的参数
  20.         String pwd = req.getParameter("pwd");
  21.         String sex = req.getParameter("sex");
  22.         String address = req.getParameter("address");
  23.         String info = req.getParameter("info");
  24.         User user = new User(); //实例化一个对象,组装属性
  25.         user.setName(name);
  26.         user.setPwd(pwd);
  27.         user.setSex(sex);
  28.         user.setAddress(address);
  29.         user.setInfo(info);
  30.         UserDao ud = new UserDaoImpl();
  31.         if( ud.register(user) ){
  32.             req.setAttribute("username", name);  //向req域中放置参数
  33.             req.setAttribute("xiaoxi", "注册成功");
  34.             req.getRequestDispatcher("/login.jsp").forward(req, resp);  //转发到登录页面
  35.         }else{
  36.             resp.sendRedirect("login.jsp");//重定向到首页
  37.         }
  38.     }
  39. }
复制代码
在servlet下创建SearchallServlet用来返回数据库中所有用户信息  Searchall.java
  1. package com.servlet;
  2. import com.dao.UserDao;
  3. import com.dao.UserDaoImpl;
  4. import com.entity.User;
  5. import javax.servlet.ServletException;
  6. import javax.servlet.annotation.WebServlet;
  7. import javax.servlet.http.HttpServlet;
  8. import javax.servlet.http.HttpServletRequest;
  9. import javax.servlet.http.HttpServletResponse;
  10. import java.io.IOException;
  11. import java.util.List;
  12. @WebServlet(name = "SearchallServlet", value = "/SearchallServlet")
  13. public class Searchall extends HttpServlet {
  14.     @Override
  15.     protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  16.         super.doGet(req, resp);
  17.     }
  18.     @Override
  19.     protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  20.         UserDao ud = new UserDaoImpl();
  21.         List<User> userAll = ud.getUserAll();
  22.         req.setAttribute("userAll", userAll);
  23.         req.getRequestDispatcher("/showall.jsp").forward(req, resp);
  24.     }
  25. }
复制代码
 
在servlet下创建DeleteServlet用来删除用户操作  DeleteServlet.java
  1. package com.servlet;
  2. import com.dao.UserDao;
  3. import com.dao.UserDaoImpl;
  4. import javax.servlet.ServletException;
  5. import javax.servlet.annotation.WebServlet;
  6. import javax.servlet.http.HttpServlet;
  7. import javax.servlet.http.HttpServletRequest;
  8. import javax.servlet.http.HttpServletResponse;
  9. import java.io.IOException;
  10. @WebServlet(name = "DeleteServlet", value = "/DeleteServlet")
  11. public class Delete extends HttpServlet {
  12.     @Override
  13.     protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  14.         super.doGet(req, resp);
  15.     }
  16.     @Override
  17.     protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  18.         String id = req.getParameter("id");
  19.         int userId = Integer.parseInt(id);
  20.         UserDao ud = new UserDaoImpl();
  21.         if(ud.delete(userId)){
  22.             req.setAttribute("xiaoxi", "删除成功");
  23.             req.getRequestDispatcher("/Searchall").forward(req, resp);
  24.         }else{
  25.             resp.sendRedirect("index.jsp");
  26.         }
  27.     }
  28. }
复制代码
在servlet下创建UpdateServlet操作用来更新用户信息  UpdateServlet.java
  1. [/code][code]package com.servlet;
  2. import com.dao.UserDao;
  3. import com.dao.UserDaoImpl;
  4. import javax.servlet.ServletException;
  5. import javax.servlet.annotation.WebServlet;
  6. import javax.servlet.http.HttpServlet;
  7. import javax.servlet.http.HttpServletRequest;
  8. import javax.servlet.http.HttpServletResponse;
  9. import java.io.IOException;
  10. @WebServlet(name = "UpdateServlet", value = "/UpdateServlet")
  11. public class Update extends HttpServlet {
  12.     @Override
  13.     protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  14.         super.doGet(req, resp);
  15.     }
  16.     @Override
  17.     protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  18.         String id = req.getParameter("id");
  19.         int userId = Integer.parseInt(id);
  20.         String name = req.getParameter("name");
  21.         String pwd = req.getParameter("pwd");
  22.         String sex = req.getParameter("sex");
  23.         String home = req.getParameter("home");
  24.         String info = req.getParameter("info");
  25.         System.out.println("------------------------------------"+userId);
  26.         UserDao ud = new UserDaoImpl();
  27.         if(ud.update(userId, name, pwd, sex, home, info)){
  28.             req.setAttribute("xiaoxi", "更新成功");
  29.             req.getRequestDispatcher("/Searchall").forward(req, resp);
  30.         }else{
  31.             resp.sendRedirect("index.jsp");
  32.         }
  33.     }
  34. }
复制代码
 
配置servlet 
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  3.          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4.          xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
  5.          version="4.0">
  6.    
  7.     <filter>
  8.         <filter-name>EncodingFilter</filter-name>
  9.         <filter-class>com.filter.EncodingFilter</filter-class>
  10.     </filter>
  11.     <filter-mapping>
  12.         <filter-name>EncodingFilter</filter-name>
  13.         <url-pattern>/*</url-pattern>
  14.     </filter-mapping>
  15.     <servlet>
  16.         <servlet-name>LogonServlet</servlet-name>
  17.         <servlet-class>com.servlet.Logon</servlet-class>
  18.     </servlet>
  19.     <servlet>
  20.         <servlet-name>SigninServlet</servlet-name>
  21.         <servlet-class>com.servlet.Signin</servlet-class>
  22.     </servlet>
  23.     <servlet>
  24.         <servlet-name>SearchallServlet</servlet-name>
  25.         <servlet-class>com.servlet.Searchall</servlet-class>
  26.     </servlet>
  27.     <servlet>
  28.         <servlet-name>DeleteServlet</servlet-name>
  29.         <servlet-class>com.servlet.Delete</servlet-class>
  30.     </servlet>
  31.     <servlet>
  32.         <servlet-name>UpdateServlet</servlet-name>
  33.         <servlet-class>com.servlet.Update</servlet-class>
  34.     </servlet>
  35.    
  36.     <servlet-mapping>
  37.         <servlet-name>LogonServlet</servlet-name>
  38.         <url-pattern>/LogonServlet</url-pattern>
  39.     </servlet-mapping>
  40.     <servlet-mapping>
  41.         <servlet-name>SigninServlet</servlet-name>
  42.         <url-pattern>/SigninServlet</url-pattern>
  43.     </servlet-mapping>
  44.     <servlet-mapping>
  45.         <servlet-name>SearchallServlet</servlet-name>
  46.         <url-pattern>/SearchallServlet</url-pattern>
  47.     </servlet-mapping>
  48.     <servlet-mapping>
  49.         <servlet-name>DeleteServlet</servlet-name>
  50.         <url-pattern>/DeleteServlet</url-pattern>
  51.     </servlet-mapping>
  52.     <servlet-mapping>
  53.         <servlet-name>UpdateServlet</servlet-name>
  54.         <url-pattern>/UpdateServlet</url-pattern>
  55.     </servlet-mapping>
  56.    
  57.     <welcome-file-list>
  58.         <welcome-file>login.jsp</welcome-file>
  59.     </welcome-file-list>
  60. </web-app>
复制代码
 
 
 
 
 新建jsp页面  login
  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <html>
  3. <head>
  4.     <title>登录页</title>
  5. </head>
  6. <body>
  7. <form action="SigninServlet" method="post">
  8.     用户名:<input type="text" name="name"value=""><br><br>
  9.     密码:  <input type="password" name="pwd"value=""><br><br>
  10.     <input type="submit"value="登录"name="denglu"><input type="reset"value="重置"><br>
  11. </form>
  12. <form action="zhuce.jsp">
  13.     <input type="submit"value="新用户注册">
  14. </form>
  15. </body>
  16. </html>
复制代码
 
zhuce.jsp  用户注册页面
  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <%
  3.     String path = request.getContextPath();
  4.     String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  5. %>
  6. <html>
  7. <head>
  8.     <title>My JSP 'BB.jsp' starting page</title>
  9. </head>
  10. <body >
  11. <form action="LogonServlet"method="post" style="padding-top:-700px;">
  12.     输入用户名:<input name="name" type="text"><br><br>
  13.     输入密码:<input name="pwd" type="password"><br><br>
  14.     选择性别:<input type="radio"name="sex"value="男"checked>男
  15.     <input type="radio"name="sex"value="女">女<br><br>
  16.     选择家乡:
  17.     <select name="address">
  18.         <option value="上海">上海</option>
  19.         <option value="北京" selected>北京</option>
  20.         <option value="纽约">纽约</option>
  21.     </select><br>
  22.     填写个人信息:<br>
  23.     <textarea name="info" row="5"cols="30"></textarea><br>
  24.     <input type="reset"value="重置"><input type="submit"value="注册">
  25. </form>
  26. </body>
  27. </html>
复制代码
 
失败页面 index.jsp
  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <html>
  3.   <head>
  4.     <title></title>
  5.   </head>
  6.   <body>
  7.   <p>失败</p>
  8.   </body>
  9. </html>
复制代码
success.jsp  成功页面
  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <html>
  3. <head>
  4.     <title>My JSP 'success.jsp' starting page</title>
  5. </head>
  6. <body>
  7.     ${xiaoxi} <br>
  8.     <a target="_blank" href="https://www.cnblogs.com/showall.jsp">查看所有用户</a>
  9. </body>
  10. </html>
复制代码
 
完成以上工作就可以 运行 Tomcat服务,然后运行啦
本博文参考大佬 http://blog.csdn.net/qq_23994787/article/details/73612870 
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

鼠扑

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表