其实平时做项目时,框架功能齐备,基本不用自己写servlet,顶多写个过滤器什么的。
不过有时候会需要只有几个页面的小东西,用框架写就太那啥了,于是用servlet,之后,懵懂了一瞬间,servlet咋玩来?在大eclipse自动生成如此高深的环境下,居然忘了咋弄了,深感可耻,于是写个demo记录一下。
第一种,用xml文件配置。
1、新建webProject,注意选上生成web.xml
在这个项目里写login.jsp,之后把这个项目加到tomcat里,看看能不能访问到这个login.jsp。
如果能访问到,那么继续;如果访问不到,那么去查怎么配路径吧。
2、新建包,在包里新建servlet(直接新建就好,名字叫Login.java)
在get方法里,写
//login.jsp的路径根据你放的位置而改变。
RequestDispatcher dispatcher = request.getRequestDispatcher("login.jsp");
dispatcher.forward(request,response);
3、配置web.xml文件如下
<servlet>
<description></description>
<display-name>login</display-name>
<servlet-name>login</servlet-name>
<servlet-class>jp.iesolutions.silverai.openamhelper.servlets.Login</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/login.htm</url-pattern>
</servlet-mapping>
4、访问login.htm,看能不能访问到。
第二种,用注解。(前两步是一样的)
1、新建webProject,可以不选生成web.xml,但是为了其他的非servlet的配置,还是选上好些。
在这个项目里写login.jsp,之后把这个项目加到tomcat里,看看能不能访问到这个login.jsp。
如果能访问到,那么继续;如果访问不到,那么去查怎么配路径吧。
2、新建包,在包里新建servlet(直接新建就好,名字叫Login.java)
在get方法里,写
//login.jsp的路径根据你放的位置而改变。
RequestDispatcher dispatcher = request.getRequestDispatcher("login.jsp");
dispatcher.forward(request,response);
3、在servlet的类上面加注解:@WebServlet(“/login.htm”)
@WebServlet("/login.htm")
public class Login extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public Login() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
RequestDispatcher dispatcher = request.getRequestDispatcher("login.jsp");
dispatcher.forward(request,response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
4、访问login.htm,看能不能访问到。