Servlet3.0注解配置Servlet和Filter

来源:互联网 发布:知乎注册名字 编辑:程序博客网 时间:2024/04/29 18:43

1.项目结构


2.web.xml

<?xml version="1.0" encoding="UTF-8"?><web-app version="3.0" 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_3_0.xsd"><!--  <servlet><servlet-name>MyServlet</servlet-name><servlet-class>com.gs.servlet.MyServlet</servlet-class></servlet><servlet-mapping><servlet-name>MyServlet</servlet-name><url-pattern>/MyServlet</url-pattern></servlet-mapping><filter><filter-name>CharacterEncodingFilter</filter-name><filter-class>com.gs.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param></filter><filter-mapping><filter-name>CharacterEncodingFilter</filter-name><url-pattern>/*</url-pattern><dispatcher>REQUEST</dispatcher><dispatcher>FORWARD</dispatcher></filter-mapping>     -->  <display-name></display-name>  <welcome-file-list>    <welcome-file>index.jsp</welcome-file>  </welcome-file-list></web-app>

3.MyServlet.java



package com.gs.servlet;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;@WebServlet(name="MyServlet",urlPatterns={"/MyServlet"})public class MyServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {// TODO Auto-generated method stubsuper.doGet(req, resp);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {PrintWriter out=resp.getWriter();String name=req.getParameter("name");System.out.println(name);if (name!=null&&!name.isEmpty()) {out.print("你好"+name);out.print(",<br> 欢迎来到我的主页");}else {out.print("请输入你的中文名字");}out.print("<br><a href=form1.jsp>返回</a>");out.flush();out.close();}}
</pre><p></p></blockquote><p><span style="font-family:monospace"><span style="white-space:pre">4.CharacterEncodingFilter</span></span></p><span style="font-family:monospace"><span style="white-space:pre"></span></span><blockquote style="margin:0 0 0 40px; border:none; padding:0px"><p><span style="font-family:monospace"><span style="white-space:pre"></span></span></p><pre name="code" class="java">package com.gs.filter;import java.io.IOException;import javax.servlet.DispatcherType;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.annotation.WebFilter;import javax.servlet.annotation.WebInitParam;@WebFilter(filterName="CharacterEncodingFilter",urlPatterns="/*",initParams={@WebInitParam(name="encoding",value="utf-8")},dispatcherTypes=DispatcherType.REQUEST)public class CharacterEncodingFilter implements Filter {//字符编码,(初始化参数)protected String encoding=null;//FilterConfig对象protected FilterConfig filterConfig=null;/*初始化方法*/@Overridepublic void init(FilterConfig arg0) throws ServletException {this.filterConfig=arg0;this.encoding=filterConfig.getInitParameter("encoding");}@Overridepublic void doFilter(ServletRequest request, ServletResponse response,FilterChain filterChain) throws IOException, ServletException {if (encoding!=null) {request.setCharacterEncoding(encoding);response.setContentType("text/html;charset="+encoding);}//传递给下一过滤器filterChain.doFilter(request, response);}@Overridepublic void destroy() {this.encoding=null;this.filterConfig=null;}}

5.form1.jsp

<%@ 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 'form1.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="styles.css">-->  </head>    <body>    <form action="MyServlet" method="post">    请输入你的中文名字: <br>    <input type="text" name="name"><br>    <input type="submit" value="提交">    </form>  </body></html>


0 0
原创粉丝点击