第一个Java Web项目
来源:互联网 发布:自学网办公软件 编辑:程序博客网 时间:2024/05/05 18:47
因为工作需要,必须先学J2EE了。第一个J2ee项目,用于学习J2ee项目的基本结构。
通过上面的配置文件,可以看到,访问HelloServlet的URL是hello.HelloServlet在包pocketdigi内.
在包内建一个类(或者说JavaBean),User.java:
新建一个类,HelloServlet.java:
hello.jsp 源代码(wp-syntax插件好像不支持JSP高亮显示):
部署到服务器,看效果。另外,MyEclipse建立项目的时候,不需要把工作空间设置成Tomcat的webapps目录,我之前一直搞不清,导致部署的时候提示已经部署。其实随便放哪都行,点部署的时候,MyEclipse会把整个项目自动部署到webapps目录,而且修改代码后不需要重新手动部署。
功能:hello.jsp,post数据到HelloServlet,HelloServlet处理后返回给hello.jsp.
先上配置文件:WEB-INF/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"> <display-name></display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>HelloServlet</servlet-name> <servlet-class>pocketdigi.HelloServlet</servlet-class> </servlet> <!-- servlet名和该servlet完整类名 --> <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping> <!-- servlet名和访问该servlet的URL --></web-app>
通过上面的配置文件,可以看到,访问HelloServlet的URL是hello.HelloServlet在包pocketdigi内.
在包内建一个类(或者说JavaBean),User.java:
package pocketdigi; public class User {private String userName; public String getUserName() {return userName;} public void setUserName(String userName) {this.userName = userName;} }
新建一个类,HelloServlet.java:
package pocketdigi; import java.io.IOException; 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 HelloServlet extends HttpServlet { /** * */private static final long serialVersionUID = 3972665671318178043L; @Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {// TODO Auto-generated method stubString userName=req.getParameter("username");User user=new User();user.setUserName(userName);req.setAttribute("user", user);//设置待传属性,属性名必须与接收的jsp文件中jsp:useBean标签的id属性相同RequestDispatcher dispatcher=req.getRequestDispatcher("/hello.jsp");dispatcher.forward(req, resp);//把user传送给hell.jsp,这里并不是简单的重定向,注意地址栏,还是Servlet的hello,而不是hello.jsp } @Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {// TODO Auto-generated method stubdoGet(req, resp);} }
hello.jsp 源代码(wp-syntax插件好像不支持JSP高亮显示):
<%@ page language="java" pageEncoding="UTF-8"%><jsp:useBean id="user" scope="request" class="pocketdigi.User"></jsp:useBean><%--jsp:useBean指令用于在jsp页面中创建一个JavaBean实例,这里就是创建pocketdigi.User的实例id为JavaBean名,即对象名,class为类名,scope是作用范围,有4个值:request,session,page,application,默认是page。因为我们需要从Servlet把user通过HttpServletRequest传到这,所以设为request.这里会自动接收从HelloServlet传过来的user --%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>My JSP 'hello.jsp' starting page</title> </head><body><%//上面的jsp:useBean指令已经定义userif (user.getUserName() != null && !user.getUserName().equals("")) {out.println("您好," + user.getUserName());}%><form action="hello" method="post">用户名:<input type="text" name="username" /><br /> <input type="submit"value="提交" /></form></body></html>以下是我捡起来的:
部署到服务器,看效果。另外,MyEclipse建立项目的时候,不需要把工作空间设置成Tomcat的webapps目录,我之前一直搞不清,导致部署的时候提示已经部署。其实随便放哪都行,点部署的时候,MyEclipse会把整个项目自动部署到webapps目录,而且修改代码后不需要重新手动部署。
0 0
- 第一个Java Web项目
- 第一个Java web项目
- java web第一个项目
- 第一个Java Web项目
- java web第一个项目学习笔记
- 第一个Web项目
- 第一个web项目
- Java web之新建第一个web项目
- 第一个maven web项目
- 第一个java Web项目中遇到的问题(上)
- 使用eclipse建立第一个web项目(java)
- 第一个Docker镜像Java-web项目
- 搭建环境篇 | 运行第一个Java Web 项目
- Eclipse+Tomcat+mysql开发第一个Java Web项目
- Java web第一个问题
- 第一个Java web前期工作
- 第一个java项目,完!
- Java WebRestApp后台(一):第一个java web项目(从创建到返回第一个json字符串)
- hive-java 例子
- Oracle_PL/SQL的基本写法_BEGIN_END块结构及简单的事务实现
- IOS学习——UIKit框架图
- Monkey Runner常用语句
- OpenStack动态迁移live-migration配置
- 第一个Java Web项目
- <uses-permission>
- ActionContext和ServletActionContext小结
- linux 修改ip方法
- 让Mac OS X的终端多姿多彩
- 【恒天云】OpenStack和CloudStack对比研究报告
- <uses-sdk>
- 【Unity3D自学记录】鼠标移动三维物体
- User Interface(用户界面)