从一个简单的servlet做起

来源:互联网 发布:我知女人心小说阅读 编辑:程序博客网 时间:2024/06/05 03:00
在webapp下新建myapp文件夹,myapp下新建WEB-INF文件夹和jsp文件。WEB-INF下新建classes和lib文件夹和web.xml文件

将以下代码编译后的.class文件存放在classes文件夹下

import java.io.IOException;import java.io.PrintWriter;import javax.management.modelmbean.ModelMBean;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class LoginServlet extends HttpServlet { protected void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException{   System.out.println("调用doGet()");   response.setContentType("text/html;charset=utf-8");   request.setAttribute("user",request.getParameter("username"));   RequestDispatcher dispatcher = request.getRequestDispatcher("/success.jsp");   try {dispatcher.forward(request, response);       }   catch (IOException e) {e.printStackTrace();      } }protected void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException{ System.out.println("调用doPost()"); doGet(request,response); }}
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">  <display-name></display-name>  <welcome-file-list>    <welcome-file>index.jsp</welcome-file>  </welcome-file-list>  <servlet>  <display-name>Login</display-name>  <servlet-name>Login</servlet-name>  <servlet-class>LoginServlet</servlet-class> </servlet> <servlet-mapping>  <servlet-name>Login</servlet-name>  <url-pattern>/Login</url-pattern> </servlet-mapping> </web-app>
登陆首页login.jsp代码

<html><body><form action="Login" method="get">用户名:<input type="text" name="username"/></br>密  码:<input type="password" name="password"/></br><input type="submit" value="提交"/></form></body></html>
登陆成功跳转到success.jsp代码

<html><head></head><body>welcome ${user}</body></html>
运行tomcat
URL:http://localhost:8080/myapp/login.jsp

点击提交

特意调用doGet()看到URL传递的连接中带参数是中文的,是因为我把所有字符都设置成UTF-8
解决中文乱码:
1.tomcat下配置文件全部改成UTF-8格式
2.java文件中加上response.setContentType("text/html;charset=utf-8");
3.注意编辑代码的环境的字符格式,中文操作系统默认的文本编辑器字符集是CHINESE-GB2312的,为了统一,如果在文本编辑器或其他编辑器下写的代码请转成UTF-8(例:notepad++中encoding的utf-8)可以省去很多乱码麻烦